package com.core.zyyz.amc.modules.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableField;
import com.core.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.core.common.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 功能编号管理对象 amc_code_manage
 *
 * @author LiuFushun
 * @date 2024-11-05
 */
public class AmcCodeManage extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 编号管理id */
    private String codeManageId;

    /** 功能名称 */
    @Excel(name = "功能名称")
    private String functionName;

    /** 功能编码 */
    @Excel(name = "功能编码")
    private String functionCode;

    /** 编号前缀 */
    @Excel(name = "编号前缀")
    private String codePrefix;

    /** 编号样式（10-yyyy,11-yyyymm,12-yyyymmdd） */
    @Excel(name = "编号样式", readConverterExp = "1=0-yyyy,11-yyyymm,12-yyyymmdd")
    private String codeStyle;

    /** 编号流水长度 */
    @Excel(name = "编号流水长度")
    private Integer codeSequenceLength;

    /** 功能对应表名 */
    @Excel(name = "功能对应表名")
    private String tableName;

    /** 创建人 */
    @Excel(name = "创建人")
    private String createdBy;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationDate;

    /** 最后一次修改人 */
    @Excel(name = "最后一次修改人")
    private String lastUpdatedBy;

    /** 最后一次修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后一次修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastUpdateDate;

    /** 系统登录人 */
    @Excel(name = "系统登录人")
    private String lastUpdateLogin;

    /** 预留1 */
    @Excel(name = "预留1")
    private String attribute1;

    /** 预留2 */
    @Excel(name = "预留2")
    private String attribute2;

    /** 预留3 */
    @Excel(name = "预留3")
    private String attribute3;

    /** 是否有维度（0-否，1-是） */
    @Excel(name = "是否有维度", readConverterExp = "0=-否，1-是")
    private String whetherDimension;

    /** 维度id */
    @Excel(name = "维度id")
    private String dimensionId;

    /** 备注 */
    private String remark;

    /** 表编号名 */
    @Excel(name = "表编号名")
    private String tableCodeName;

    /** 移动端头信息展示字段 */
    @Excel(name = "移动端头信息展示字段")
    private String mobileHeadInfo;

    /** 维度名称 展示在前端页面的字段*/
    @TableField(exist = false)//这表示该字段在数据库表中不存在。当使用MyBatis-Plus的自动注入SQL语句功能时，会忽略这个字段，不会将其包含在SQL查询语句中。
    private String dimensionName;

    /** 功能列表类型区分（下拉框的值）*/
    @TableField(exist = false)
    private String configType;

    public String getConfigType() {
        return configType;
    }

    public void setConfigType(String configType) {
        this.configType = configType;
    }

    public String getDimensionName() {
        return dimensionName;
    }

    public void setDimensionName(String dimensionName) {
        this.dimensionName = dimensionName;
    }

    public void setCodeManageId(String codeManageId)
    {
        this.codeManageId = codeManageId;
    }

    public String getCodeManageId()
    {
        return codeManageId;
    }
    public void setFunctionName(String functionName)
    {
        this.functionName = functionName;
    }

    public String getFunctionName()
    {
        return functionName;
    }
    public void setFunctionCode(String functionCode)
    {
        this.functionCode = functionCode;
    }

    public String getFunctionCode()
    {
        return functionCode;
    }
    public void setCodePrefix(String codePrefix)
    {
        this.codePrefix = codePrefix;
    }

    public String getCodePrefix()
    {
        return codePrefix;
    }
    public void setCodeStyle(String codeStyle)
    {
        this.codeStyle = codeStyle;
    }

    public String getCodeStyle()
    {
        return codeStyle;
    }
    public void setCodeSequenceLength(Integer codeSequenceLength)
    {
        this.codeSequenceLength = codeSequenceLength;
    }

    public Integer getCodeSequenceLength()
    {
        return codeSequenceLength;
    }
    public void setTableName(String tableName)
    {
        this.tableName = tableName;
    }

    public String getTableName()
    {
        return tableName;
    }
    public void setCreatedBy(String createdBy)
    {
        this.createdBy = createdBy;
    }

    public String getCreatedBy()
    {
        return createdBy;
    }
    public void setCreationDate(Date creationDate)
    {
        this.creationDate = creationDate;
    }

    public Date getCreationDate()
    {
        return creationDate;
    }
    public void setLastUpdatedBy(String lastUpdatedBy)
    {
        this.lastUpdatedBy = lastUpdatedBy;
    }

    public String getLastUpdatedBy()
    {
        return lastUpdatedBy;
    }
    public void setLastUpdateDate(Date lastUpdateDate)
    {
        this.lastUpdateDate = lastUpdateDate;
    }

    public Date getLastUpdateDate()
    {
        return lastUpdateDate;
    }
    public void setLastUpdateLogin(String lastUpdateLogin)
    {
        this.lastUpdateLogin = lastUpdateLogin;
    }

    public String getLastUpdateLogin()
    {
        return lastUpdateLogin;
    }
    public void setAttribute1(String attribute1)
    {
        this.attribute1 = attribute1;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getAttribute1()
    {
        return attribute1;
    }
    public void setAttribute2(String attribute2)
    {
        this.attribute2 = attribute2;
    }

    public String getAttribute2()
    {
        return attribute2;
    }
    public void setAttribute3(String attribute3)
    {
        this.attribute3 = attribute3;
    }

    public String getAttribute3()
    {
        return attribute3;
    }
    public void setWhetherDimension(String whetherDimension)
    {
        this.whetherDimension = whetherDimension;
    }

    public String getWhetherDimension()
    {
        return whetherDimension;
    }
    public void setDimensionId(String dimensionId)
    {
        this.dimensionId = dimensionId;
    }

    public String getDimensionId()
    {
        return dimensionId;
    }
    public void setTableCodeName(String tableCodeName)
    {
        this.tableCodeName = tableCodeName;
    }

    public String getTableCodeName()
    {
        return tableCodeName;
    }
    public void setMobileHeadInfo(String mobileHeadInfo)
    {
        this.mobileHeadInfo = mobileHeadInfo;
    }

    public String getMobileHeadInfo()
    {
        return mobileHeadInfo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("codeManageId", getCodeManageId())
                .append("functionName", getFunctionName())
                .append("functionCode", getFunctionCode())
                .append("codePrefix", getCodePrefix())
                .append("codeStyle", getCodeStyle())
                .append("codeSequenceLength", getCodeSequenceLength())
                .append("tableName", getTableName())
                .append("remark", getRemark())
                .append("createdBy", getCreatedBy())
                .append("creationDate", getCreationDate())
                .append("lastUpdatedBy", getLastUpdatedBy())
                .append("lastUpdateDate", getLastUpdateDate())
                .append("lastUpdateLogin", getLastUpdateLogin())
                .append("attribute1", getAttribute1())
                .append("attribute2", getAttribute2())
                .append("attribute3", getAttribute3())
                .append("whetherDimension", getWhetherDimension())
                .append("dimensionId", getDimensionId())
                .append("tableCodeName", getTableCodeName())
                .append("mobileHeadInfo", getMobileHeadInfo())
                .toString();
    }
}
